MUSKOX PRODUCT DESCRIPTION

SERIOUS PURPOSE

As mission critical applications tend to become more complex and distributed, the need increases for a layer of software that controls behavior of a large number of the application's objects. MUSKOX allows software engineers to encode the behavior of the application's objects explicitly, and to control them efficiently using object states.

MODERN APPLICATIONS

MUSKOX is currently used as the core software component in the High Availability UNIX clusters where it provides availability and failover of hardware and software resources. MUSKOX is also a great choice to encode object behavior in Object-Oriented Frameworks and to build complex distributed software such as Transaction Processing systems, WEB servers, and Workflow engines. Last but not least, MUSKOX is an efficient C++ parser-generator tool.

RELIABLE SOFTWARE ENGINEERING

MUSKOX partitions a software system into higher-level design declarations of the laws of state transitions, and a lower-level C++ code that takes care of the details. The MUSKOX compiler converts the declarations of the laws of state transitions into C++ programs that control the application at runtime, thereby making the design a driving part of the running application.

ELEGANT CONCEPTS

MUSKOX is a C++ Software Engineering Tool. At compile time it declares classes along with the states and state transition rules that direct the behavior of the objects. At runtime the rules control procedural actions determined by object states, inter-object communication, and resulting state transitions. Also, at runtime object states are explicitly available for GUIs and other tools to display and control the system's behavior.

CONVENIENT TOOLS

Conceptually, MUSKOX may be split into three separate entities:

Developers use the MUSKOX metalanguage to declare types, objects, states, and state transition rules; the MUSKOX compiler accepts them and automatically generates an efficient ARM that executes the application.

SOLID FOUNDATION

The following are the cornerstones of the MUSKOX foundation:
MUSKOX BACKGROUND

MUSKOX is a proven technology that has a fundamental background in event-driven systems, formal languages, and parsers.

MUSKOX and Event-Driven Systems

MUSKOX state transition rules specify processing of external and internal events in common with event-driven systems:

COMMON FEATURES:

DIFFERENCES:

MUSKOX and Formal Languages

At runtime an object accepts a flow of symbols that constitute a sentence from a language defined by the object's type grammar. The symbols represent external and internal events. The state transition engine essentially parses this sentence and executes actions during parsing. The grammar's state transition rules control the application logic, while the actions execute the code of the application.

COMMON FEATURES:

DIFFERENCES:

MUSKOX AS A PARSER TOOL

MUSKOX compiler may be also used as a traditional parser generator, and MUSKOX engine may be used as a skeleton parsing engine. For example, a grammar for the MUSKOX metalanguage is written in the MUSKOX metalanguage, and the MUSKOX compiler is generated by itself. As a parser tool, MUSKOX is used to compile and execute scripting languages from within and outside of the ARMs.

Last Modified January 29, 1996.
All trademarks are properties of their respective owners. Copyright (C) 1996 by MASTERSYS.
3596 Pimlico Dr., Pleasanton, CA 94588 USA.

Back to home page